Methods, radio communication device and base station device for managing a media stream

ABSTRACT

Methods for managing a media stream from a media server are disclosed. The communication device transmits, to the media server, a request for the first set of media rates and the at least one segment time period. The communication device receives a response indicating the first set of media rates and the at least one segment time period. Moreover, the communication device transmits, to the base station, a request for a second set of media rates, wherein the request comprises information about the first set, a parameter relating to length of the at least one segment time period, and an indication relating to a time period during which the second set of media rates is below a media stream rate for reception at the communication device. Furthermore, the communication device receives a response indicating the second set, and selects a media rate out of the second set.

TECHNICAL FIELD

Embodiments herein relate to video coding technologies, such as adaptivebitrate streaming technologies. In particular, a method and a radiocommunication device for managing a media stream to be received from amedia server as well as a method and a base station device for managinga media stream to be transmitted from a media server to a radiocommunication device are disclosed. A corresponding computer program anda carrier therefor are also disclosed.

BACKGROUND

A particular area within video coding relates to concerns how to managestreaming of videos, or video files, from a server unit to a clientdevice. The server unit may be hosted by a content provider, whichoffers videos for streaming to client devices, either for free or at acharge. The videos may be provided from a real time source or from astorage device, such as a disc drive or the like.

In this context, bitrate of the video is relevant for the experience ofa user receiving a video at a client device. If the bitrate is high, theexperience may be good under the condition that a connection between theclient device and the server unit is capable of feeding the stream tothe client device without interruptions etc. This means that athroughput of the connection is sufficiently high. Expresseddifferently, a bandwidth of the connection is sufficiently high. On theother hand, the experience may be good even if the bitrate is low. Forexample, the experience may be rated good for a lower bitrate, in caseswhere a stream at a higher bitrate would be exposed to interruptions,since the interruptions may typically worsen the experience for theuser.

In order to adapt the bitrate to a currently available throughput in acomputer/telecom network, so called Adaptive Bit Rate (ABR) video can beused. Hence, the currently available throughput for a particular user ismeasured and then the bitrate of the video, to be streamed to theparticular user, is adjusted accordingly. An adjustment of the bitrateto a higher bitrate leads to that higher throughput is required, and anadjustment of the bitrate to a lower bitrate leads to that a lowerthroughput would be sufficient.

An example of ABR is Moving Pictures Expert Group (MPEG)—DynamicAdaptive Streaming over HTTP (DASH), where HTTP is short for HyperTextTransfer Protocol. In e.g DASH, the video is stored in the server unitin different segments of a certain media length, e.g. a length inseconds, minutes etc. For each segment a number of different videofiles, corresponding to different media rates are available at theserver unit. At initial request of a video from the client device, theserver unit first responds with a manifest file telling the clientdevice what is the used segment length for this video and whichdifferent media rates that are available.

Usually, the client device request the first segment at the lowestavailable media rate as the client device do not have any understandingof the available throughput before any transmission has occurred. Duringreception of the first segment, the client device can start to estimatethe available throughput, e.g. through measuring the time it took todownload that first segment. Based on the estimated throughput, theclient device will then for consecutive segments request segments withmedia rate slightly below the estimated throughput, in order to try toavoid buffer under-run, i.e. in the client device's buffer for video tobe output at e.g. a screen or the like. Buffer under-run occurs when theclient device empties its buffer for video to be output, i.e. the bufferis emptied faster than it is filled. This can e.g. happen when thethroughput of the above mentioned connection is not sufficiently high.

Estimations of available throughput for a client device exhibit somelimitations.

First, the estimation can only be based on periods for which video filesare actually transmitted to the client device. This makes it hard tocorrectly estimate fast changes in available throughput, e.g. due tofast changes in radio environment in a wireless network.

Secondly, the client device only has the understanding of the currentlyavailable throughput for itself. In a wireless network, the availablethroughput over a radio link is shared among a plurality of clientdevices. This can lead to oscillations between several bitrates forvideo when the plurality of client devices attempt to adjust bitrate ofreceived video streams.

To overcome these limitations, it has been proposed that a network noderecommends a bitrate in order to guide in adaption of the bitrate, suchas guide in adapting to the currently available throughput as mentionedabove. The network node is aware of network factors, such as overallresource and user situation. Thus, the network node can consider thesenetwork factors when finding the recommended bitrate.

The available throughput for a user equipment (UE) in a mobile network,such as a Long Term Evolution (LTE) network, changes over time due tovarious reasons.

Firstly, the UE may move around and may have better or worse radioquality depending on the distance to a serving cell of the LTE network.

Secondly, even if the UE is stationary, the radio quality can changeover time as objects, e.g. cars, buses, other user equipments, in theenvironment move.

Thirdly, a number of active user equipments in the serving cell maychange and result in changes of an available throughput.

Finally, the UE may be handed over to another cell, with differentnumber of active user equipments, and different radio qualities(conditions). This also results in change of available throughput.

The aforementioned ABR manages selection of bitrate by detecting a UE'savailable throughput, or throughput, in real time. Then, the ABR catersfor adjustment of quality of a video stream, received by the UE, whiletaking the available throughput into account. In more detail, thebitrate of the video stream is adjusted. However, in case of the mobilenetwork above, the UE's available throughput changes faster and morefrequent than in wired computer networks, i.e. computer networks thatdoes not provide wireless connections and mobility of client devices.Thus, ABR may need to update the bitrate of the video stream frequently,which results in poor experience for the user. The experience for theuser is poor because resolution of the video, e.g. in terms of pixeland/or bitdepth of color component for the pixels, changes often due thefrequent changes of the bitrate. A problem is hence that a so calledQuality of Experience (QoE) is low.

Abstract of CN102811367 discloses adaptive video encoding based onpredicted wireless channel conditions. Based on at least one of a numberof transmitter side indications of the available throughput of awireless channel for video delivery, an encoder rate adaptationmechanism generates an estimate of the supportable throughput of thewireless channel under different operating conditions. An encodingparameter, such as encoder bitrate, is subsequently altered based on theestimated throughput value. In one instance, transmitter side throughputindicia is used to generate target encoder bitrates for multiplepotential data rates/channel and/or modulation and coding schemeselections that may be used in video delivery. In anticipation of orimmediately following a transition to one such data rate and/ormodulation and coding scheme selection, the encoder bitrate is alteredin accordance with an associated target bitrate. In another mode,average transmit queue latency information is used to further regulatethe encoder bitrate. In some scenarios, the encoder bitrate does stillnot provide a sufficiently good QoE for a user receiving the videodelivery. Specifically, frequent changes of bitrate of the video may bea problem.

SUMMARY

An object may be to improve QoE for a user receiving a media stream,such as a video stream, in connection with adaptive bitrate streamingand the like.

According to an aspect, the object is achieved by a method, performed bya radio communication device, for managing a media stream to be receivedfrom a media server. The media stream comprises a plurality of segments,which are defined by a first set of media rates and by at least onesegment time period relating to a duration of the plurality of segments.The radio communication device transmits, to the media server, a requestfor the first set of media rates and the at least one segment timeperiod. Next, the radio communication device receives, from the mediaserver, a response indicating the first set of media rates and the atleast one segment time period.

Moreover, the radio communication device transmits, to a base stationdevice, a request for a second set of media rates. The request comprisesinformation about the first set of media rates, a parameter relating tolength of the at least one segment time period, and an indicationrelating to a time period during which the second set of media rates isbelow a media stream rate for reception at the radio communicationdevice. In this manner, the base station device is able to predict themedia stream rate, based on the indication and the parameter, and toassign one or more of the first set of media rates to the second set ofmedia rates based on the media stream rate.

Furthermore, the radio communication device receives, from the basestation device, a response indicating the second set of media rates. Theradio communication device selects a media rate out of the second set ofmedia rates.

According to another aspect, the object is achieved by a method,performed by a base station device, for managing a media stream to betransmitted from a media server to a radio communication device. Themedia stream comprises a plurality of segments, which are defined by afirst set of media rates and by one or more segment time periodsrelating to a duration of the plurality of segments. The base stationdevice receives, from the radio communication device, a request for asecond set of media rates. The request comprises information about thefirst set of media rates, a parameter relating to length of the one ormore segment time periods, and an indication relating to a time periodduring which the second set of media rates is below a media stream ratefor reception at the radio communication device. Next, the base stationdevice selects a model for prediction of the media stream rate based onthe indication and the parameter. Moreover, the base station deviceobtains information about radio conditions for use as input to themodel.

Furthermore, the base station device predicts the media stream ratebased on the selected model and the information about radio conditions.Next, the base station device assigns one or more of the first set ofmedia rates to the second set of media rates based on the predictedmedia stream rate. Subsequently, the base station device transmits, tothe radio communication device, a response indicating the second set ofmedia rates.

According to a further aspect, the object is achieved by a radiocommunication device configured for managing a media stream to bereceived from a media server, wherein the media stream comprises aplurality of segments, which are defined by a first set of media ratesand by at least one segment time period relating to a duration of theplurality of segments. The radio communication device is configured fortransmitting, to the media server, a request for the first set of mediarates and the at least one segment time period. The radio communicationdevice is configured for receiving, from the media server, a responseindicating the first set of media rates and the at least one segmenttime period.

Moreover, the radio communication device is configured for transmitting,to a base station device, a request for a second set of media rates. Therequest comprises information about the first set of media rates, aparameter relating to length of the at least one segment time period,and an indication relating to a time period during which the second setof media rates is below a media stream rate for reception at the radiocommunication device. In this manner, the base station device is able topredict the media stream rate, based on the indication and theparameter, and to assign one or more of the first set of media rates tothe second set of media rates based on the media stream rate.

Furthermore, the radio communication device is configured for receiving,from the base station device, a response indicating the second set ofmedia rates. Additionally, the radio communication device is configuredfor selecting a media rate out of the second set of media rates.

According to yet another aspect, the object is achieved by a basestation device configured for managing a media stream to be transmittedfrom a media server to a radio communication device, wherein the mediastream comprises a plurality of segments, which are defined by a firstset of media rates and by one or more segment time periods relating to aduration of the plurality of segments.

The base station device is configured for receiving, from the radiocommunication device, a request for a second set of media rates. Therequest comprises information about the first set of media rates, aparameter relating to length of the one or more segment time periods,and an indication relating to a time period during which the second setof media rates is below a media stream rate for reception at the radiocommunication device. The base station device is configured forselecting a model for prediction of the media stream rate based on theindication and the parameter.

Moreover, the base station device is configured for obtaininginformation about radio conditions for use as input to the model. Thebase station device is configured for predicting the media stream ratebased on the selected model and the information about radio conditions.

Furthermore, the base station device is configured for assigning one ormore of the first set of media rates to the second set of media ratesbased on the predicted media stream rate.

Additionally, the base station device is configured for transmitting, tothe radio communication device, a response indicating the second set ofmedia rates.

According to further aspects, the object is achieved by computerprograms and carriers therefor corresponding to the aspects above.

Thanks to that the radio communication device receives the responseindicating the second set of media rates, the radio communication deviceis assisted by the base station device in selecting the media rate,which e.g. is considered appropriate from a point of view of the basestation device, i.e. the network. Hence, when the radio communicationdevice selects the media rate out of the second set of media rates, itcan be ensured, at least to some extent, that the media stream with theselected media rate can be successfully transferred from the mediaserver, via the base station device, to the radio communication device.In this context, successful transfer refers to that the media stream istransferred at one and the same media rate during the time periodindicated by the indication. Accordingly, frequent media rate changesare avoided. Therefore, it is expected that QoE for a user receiving themedia stream is increased. In some examples, the time period may be 10s, 1 min, 5 min, etc, depending on preference of the user and/or acontent provider managing the media server.

An advantage is that the radio communication device may select the mediarate out of the second set of media rates. Thus, the radio communicationdevice may, at least to some extent, ensure that the QoE is improved dueto less frequent changes of the media rate.

BRIEF DESCRIPTION OF THE DRAWINGS

The various aspects of embodiments disclosed herein, includingparticular features and advantages thereof, will be readily understoodfrom the following detailed description and the accompanying drawings,in which:

FIG. 1 is a schematic overview of an exemplifying system in whichembodiments herein may be implemented,

FIG. 2 is a diagram illustrating average bitrate as a function of time,

FIG. 3 is a combined signaling and flowchart illustrating the methodsherein,

FIG. 4 is a flowchart illustrating embodiments of the method in theradio communication device, and

FIG. 5 is a block diagram illustrating embodiments of the radiocommunication device,

FIG. 6 is a flowchart illustrating embodiments of the method in the basestation device, and

FIG. 7 is a block diagram illustrating embodiments of the base stationdevice.

DETAILED DESCRIPTION

Throughout the following description similar reference numerals havebeen used to denote similar features, such as nodes, actions, steps,modules, circuits, parts, items elements, units or the like, whenapplicable. In the Figures, features that appear in some embodiments areindicated by dashed lines.

FIG. 1 depicts an exemplifying system 100, such as a computer system,communication system or the like, in which embodiments herein may beimplemented.

The system 100 comprises a radio communication device 110, such as amobile phone or the like as listed below. Additionally, the radiocommunication device 110 may be a client application 111 from a contentprovider.

The system 100 further comprises a radio communication network, which isrepresented by a base station device 120. The radio communicationnetwork may be based on Global System for Mobilecommunication (GSM),Long Term Evolution (LTE), Universal Mobile Telecommunication System(UMTS), Worldwide Interoperability for Microwave Access (WiMAX), WiFi orthe like.

The base station device 120 may be a NodeB, eNB, Radio NetworkController (RNC), a radio base station, a Radio Remote Unit (RRU), arelay, a repeater, Base Station System (BSS) or the like.

Moreover, the system 100 comprises a media server 130. The media servermay store a number of media streams, such as video streams and/or audiostreams. The media streams are partitioned into segments, where thesegments may have different quality. The different qualities may e.g. berepresented by that the segments are encoded with different bitrates.Factors that affect the bitrate are e.g. resolution of images in a videostream, frame rate of video stream, bitdepth of components representingsounds/images etc. The content provider, mentioned above, may alsoprovide the media server 130.

Continuing the discussion about the segments, each media streamcomprises a plurality of segments. The segments are defined by a firstset of media rates and by at least one segment time period relating to aduration of the plurality of segments. As an example, the segments maybe encoded with different media rates, i.e. with different bitrates,such as 200 kbit/s, 500 kbit/s, 1 Mbit/s, etc. The duration of theplurality of segments may be the same for all of the plurality ofsegments. Alternatively, the duration may be different for some or allof the plurality of segments. The duration refers to length, e.g. inseconds, minutes, etc., of the segment when played back, e.g. output toa screen and/or a speaker and/or the like. The term “segment timeperiod” thus refers to the length, in terms of time, of the segment.

The radio communication device 110 may communicate 141 with the basestation device 120. Similarly, the content provider 11 may communicate142 with the base station device 120. Additionally, the base stationdevice 120 may communicate 143 with the media server 130 in order tostream media from the media server 130 to the radio communication device110 and/or the content provider 111. In the above examples, thecommunication is performed via the radio communication network.

As used herein, the term “radio communication device” may refer to auser equipment, a wireless device, a content provider, a wirelesscommunication device, a machine-to-machine (M2M) device, a mobile phone,a cellular phone, a Personal Digital Assistant (PDA) equipped with radiocommunication capabilities, a smartphone, a laptop or personal computer(PC) equipped with an internal or external mobile broadband modem, atablet PC with radio communication capabilities, a portable electronicradio communication device, a sensor device equipped with radiocommunication capabilities or the like. The sensor may be any kind ofweather sensor, such as wind, temperature, air pressure, humidity etc.As further examples, the sensor may be a light sensor, an electronic orelectric switch, a microphone, a loudspeaker, a camera sensor etc. Theterm “user” may indirectly refer to the wireless device. Sometimes, theterm “user” may be used to refer to the user equipment or the like asabove. It shall be understood that the user may not necessarily involvea human user. The term “user” may also refer to a machine, a softwarecomponent or the like using certain functions, methods and similar.

In order to facilitate understanding of the description of theembodiments herein, FIG. 2 is provided. FIG. 2 illustrates varying radioconditions as a function of time. The time domain is split into a numberof segment time periods 201, 202, 203, 204 and 205. The bold horizontallines illustrate average available throughput for e.g. the radiocommunication system represented by the base station device 120. Theaverage available throughput is thus taken as an example of the radioconditions.

In the diagram of FIG. 2, bitrates of the plurality of segments arerepresented as 240p, 360p and 720p. “p” represents lines of verticalresolution for one picture. As is commonly understood a bitrate of avideo is dependent on the resolution in which it is encoded when thesame encoding is used.

As shown in the table below the diagram, for each segment time period201, 202, 203, 204, 205 it is indicated by 1 or 0 whether or not thebitrates required for the different resolutions, indicated to the leftof the diagram, are below the currently available throughput. In thisexample, the network, i.e. the base station device 120, would indicatethat 240p would be suitable in case a time period, over which the samebitrate is required, spans over all segment time periods 201, 202, 203,204 and 205. For another example, in which the time period spans overonly segment time periods 201, 202, 203 and 204, the base station device120 would indicate that both 240p and 360p would be suitable, sincecurrently available through for each of these segments is abovethroughput required for 360p, and of course throughput required for 240pas well.

In addition, in some examples, a number of potential bitrates is high,i.e. there are many encodings of the segments stored at the media server130. Then, a binary search to test some of the number of potentialbitrates may be enough to reduce number bitrates that needs to beevaluated, e.g. in terms of its relation to predicted throughput. Forexample, if potential rates are 1, 2, 3 . . . 10 Mbit/s, then 5 Mbit/smay be evaluated first. If the answer is YES, then there is no need toevaluate 1-4 Mbit/s. If the answer is NO, then there is no need toevaluate 6-10 Mbit/s.

As used herein, the term “media rate” may refer to bitrate of theplurality of segments.

As used herein, the term “media stream rate” may refer to an availablethroughput predicted by the base station device 120.

FIG. 3 illustrates an exemplifying method according to embodimentsherein when implemented in the system 100 of FIG. 1.

The radio communication device 110 performs a method for managing amedia stream, such as a video stream, audio stream, a combinationthereof or the like, to be received from the media server 130. The basestation device 120 performs a method for managing the media stream,which is to be transmitted from the media server 130 to the radiocommunication device 110.

One or more of the following actions may be performed in any suitableorder.

Action A010

In order to prepare a set of models for use in e.g. action A120, thebase station device 120 may train the set of models. The set of modelsmay include any known prediction models based on e.g. neural networks,logistic regression, random forest, Support Vector Machine (SVM) etc.The set of models may comprise a model for prediction of the streamrate, i.e. a particular model that is referred to as “the model” in e.g.action A090.

Training of the set of models includes feeding the set of models withrequisite input data as well as a desired ground truth, i.e. a valuethat is desired as output when feeding the model with the requisiteinput data.

In order to perform assignment of bitrates in action A140, pre-learnedmodels may be constructed, and stored in a model database inside theradio communication network. The model database may comprise the set ofmodels, where there are models for different bitrates, time periods, andsegment time period—given by “a parameter” mentioned in action A060—andcombinations thereof. The models may as mentioned be trained usingdifferent machine learning classifiers, including decision trees,logistic regression, neural networks, support vector machines, and deeplearning. The models can be learned using either classification orordinal regression.

When creating the model, the statistics used as input to the model mayof course be used in combination with a known desired output. Forexample, throughput values for the radio communication device togetherwith time periods and segment time periods are used.

In case the models are updated online, a mechanism is added toautomatically ensure that a training dataset is balanced, meaning that asimilar amount of examples for each bitrate is input to a learningalgorithm. In this manner, accuracy of the predictions obtained by thepre-learned models may be improved. The mechanism collects currentonline data and either waits until enough data for each bitrate isavailable to build the model, or uses past historical data combined withmore recent data in order to build the model, or a combination thereof.When the models are created offline, this is taken into accountelsewhere.

Action A020

At this stage, a user of the radio communication device 110 may wish towatch and/or listen to one of the media stream that the media server 130is able to provide. Thus, the radio communication device 110 transmits,to the media server 130, a request for the first set of media rates andthe at least one segment time period.

In this manner, the radio communication device 110 asks the media server130 about available media rates for the segments and length of thesegments.

Action A030

The media server 130 receives the request upon which it reacts byfetching duration of segments and media rates, i.e. bitrates ofsegments, e.g. from a memory of the media server 130.

Action A040

Now that the requested information is fetched, the media server 130transmits a response indicating the first set of media rates and the atleast one segment time period. The response may include a so calledmanifest file. The manifest file may have the following format:

Rate 1 Rate 2 Rate 3 240 p 360 p 480 p

The manifest file may contain K possible rates and a video time t_vidthat represents a length of the media stream. Also, it contains segmenttime period(s), which specifies length of segments. As an example, incase of live streaming t_vid may be set to t_max, since there is noforeseeable end of the streaming.

Action A050

In response the request in action A020, the radio communication device110 receives, from the media server 130, the response sent in thepreceding action. Thanks to the response, the radio communication device110 is made aware of the first set of media rates and the at least onesegment time period, i.e. media rates that are available for streamingfrom the media server 130 and length of those segments.

Action A060

The radio communication device 110 generates a request for a second setof media rates. The request comprises:

information about the first set of media rates,

a parameter relating to length of the at least one segment time period,and

an indication relating to a time period during which the second set ofmedia rates is below the media stream rate for reception at the radiocommunication device 110.

This means that the request indicates the first set of media rates, thelength of the at least one segment time period, and the time periodduring which the second set of media rates is below the media streamrate for reception at the radio communication device 110.

The information about the first set of media rates may indicate theabove mentioned K possible rates.

The media stream rate—the rate of the media stream or bitrate of themedia stream—relates to bitrate at which the radio communication device110 receives, or is predicted to be capable of receiving, the mediastream. Accordingly, the media stream rate may reflect an availablethroughput, predicted by the base station device 120, for each segmentthat at least partly is comprised in the time period indicated by theindication.

By means of the request, the radio communication device 110 seeksassistance from the base station device 120 in identifying the secondset of media rates. The second set of media rates may thus be thosemedia rates for which the base station device 120 predicts thatavailable throughput will be sufficient during each of the segments thatforms the time period indicated by the indication. See also action A120below.

Action A070

E.g. upon completion of the generation of the request, the radiocommunication device 110 transmits, to the base station device 120, therequest for the second set of media rates.

In this manner, the radio communication device 110 enables the basestation device 120 to predict the media stream rate, based on theindication and the parameter, and to assign one or more of the first setof media rates to the second set of media rates based on the mediastream rate, as detailed below in e.g. action A120.

It shall be understood that the indication relates the time periodduring which the second set of media rates is predicted, by the basestation device 120, to be received at the radio communication device 110without buffer under-run at the radio communication device 110.

The request may be called possibleRatesRequest message. This messagecontains the possible rates 1, . . . , K from the media server 130, thetime period indicated by the indication and optionally user preferences.The user preference may indicate a media rate that the user prefers.

Action A080

The base station device 120 receives, from the radio communicationdevice 110, a request for a second set of media rates, wherein therequest comprises:

information about the first set of media rates,

a parameter relating to length of the one or more segment time periods,and

an indication relating to a time period during which the second set ofmedia rates is below a media stream rate for reception at the radiocommunication device 110.

Action A090

The base station device 120 selects a model for prediction of the mediastream rate based on the indication and the parameter.

Action A100

The base station device 120 obtains, such as receives from the radiocommunication device 110, information about radio conditions for use asinput to the model.

Moreover, the base station device 120 may also obtain furtherinformation about e.g. Multiple Input Multiple Output (MIMO) antennarank, Reference Signal Received Power (RSRP) to other radio networknodes, which can be used as input for prediction of the availablethroughput.

In more detail, the base station device 120 may collect radio statisticsfor all radio communication devices camping thereon. Features may becollected during a time period t_hist. t_hist indicates a time periodduring which data is collected before performing prediction. The dataneed to be buffered at the radio network node. Examples of features are:

-   -   Channel Quality Indicator (CQI) of each radio communication        device Antenna rank of each UE    -   throughput for each radio communication device    -   Cells visited        The base station device 120 also gathers its own internal        information    -   Number of radio communication devices in the cell    -   Cell load.    -   Number of used frequency subbands    -   Number of active radio communication devices    -   Frequency of scheduling of each radio communication device

The base station device 120 may finally gather information fromneighboring cells using the X2 interface

-   -   Number of radio communication devices in the cell    -   Cell load.    -   Number of used frequency subbands    -   Number of active radio communication devices

For each radio communication device, the base station device 120 cangenerate additional information based on the information above.

For example, user mobility may be generated based on the visited cellhistory. Thus, predicting the cells visited by the radio communicationdevice in the time period indicated by the indication.

For example, user traffic characterization may be generated usingscheduling history for a communication device. Thus, estimating type oftraffic generated by a radio communication device, e.g., small packetsone at a time, short bursts, long bursts, full buffer, etc.

Moreover, the base station device 120 may also generate user statistics,such as:

-   -   Min UE throughput    -   Max UE throughput    -   Average UE throughput, and    -   Average number of active UEs.

Action A110

Here, it may be mentioned that the radio communication device 110 maytransmit information about radio conditions to the base station device120. Typically, this action is performed before action A100.

Now continuing with the actions performed by the base station device120.

Action A120

The base station device 120 predicts the media stream rate based on theselected model and the information about radio conditions. The mediastream rate may be referred, possibly somewhat more descriptive, to as apredicted average throughput. It shall be said that the predictedaverage throughput may of course be calculated from a set ofinstantaneous values representing throughput variation over e.g. asegment time period.

Action A130

The base station device 120 may associate each media rate of the secondset with a respective probability relating to that said each media rateis transmittable over the radio communication network 100 without bufferunder-run at the radio communication device 110. The base station device120 may predict that no buffer under-run may occur based on certainassumptions about e.g. a size of the buffer at the radio communicationdevice 110, a media rate at which the media stream is output by theradio communication device 110 and so on. Here, the media rate may referto one of the media rates of the second set of media rates as assignedin action A140 directly below.

Action A140

The base station device 120 assigns one or more of the first set ofmedia rates to the second set of media rates based on the predictedmedia stream rate.

One way of performing the assignment in this action is to select themost appropriate media rate(s) using machine learning classificationmethods. Each classification method may have an associated model astrained and created in action A010.

While recalling FIG. 2, the base station device 120 may for each bitrateof the first set of bitrates, each segment comprised in the time periodindicated by the indication, an each predicted average throughput foreach segment, classify the bitrate of the first set as suitable ornon-suitable, e.g. one or zero, depending on relation between predictedaverage throughput and bitrate. For example, if predicted averagethroughput is above a throughput required for streaming of one of thebitrates of the first set, then that bitrate may be classified assuitable, i.e. assigned a value of one. Similarly, if predicted averagethroughput is below the throughput required for streaming of said one ofthe bitrates, then that bitrate may be classified as non-suitable, i.e.assigned a value of zero.

The model used for the classification may be chosen based on the bitrateto be classified, the time period indicated by the indication and thesegment time periods. E.g. the radio conditions and the like may be usedas input to the model when performing the classification. Whenperforming this classification, it is desired that a model exists forthe time period indicated by the indication, the segment time periodsand the bitrates of the first set. Otherwise, a close enough model maybe used, but this may decrease accuracy of the classification.

Action A150

The base station device 120 transmits, to the radio communication device110, a response indicating the second set of media rates.

Action A160

The radio communication device 110 receives, from the base stationdevice 120, a response indicating the second set of media rates.

Each media rate of the second set may be associated to a respectiveprobability relating to that said each media rate is transmittable overthe radio communication network 100 without buffer under-run at theradio communication device 110. The selecting A170 of the media rate maybe based on the respective probability.

Action A170

The radio communication device 110 selects a media rate out of thesecond set of media rates.

The selecting A170 of the media rate may be based on buffer statusand/or user preference.

Selection based on buffer status may mean that the selected media ratemay be a lowest one of the second set of media rates when the bufferstatus indicates that the buffer is almost empty.

Selection based on user preference may mean that the selected media ratemay be a highest one of the second set of media rates when the userpreference indicates that highest possible resolution is desired. Thismay e.g. be applicable for users who have subscriptions with unlimiteddata plans. In other cases, e.g. applicable for users who have severelylimited data plans, it may be that the selected media rates may be alowest one of the second set of media rates in order not to consume thelimited data available through the severely limited data plan.

Action A180

The radio communication device 110 may transmit a request for the mediastream to the media server 130. The request may indicate the segments .. . ???

Action A190

The media server 130 may receive a stream request from the radiocommunication device 110. The stream request may indicate to the mediaserver 130 that the media server 130 shall stream the media stream, e.g.which segments thereof as given by a certain bitrate, to the radiocommunication device 130.

Action A200

Thus, e.g. subsequent to action A190, the media server 130 transmits themedia stream to the radio communication device 110.

Action A210

The radio communication device 110 may receive the media stream, i.e.the requested segments thereof.

According to the embodiments herein, selection of a media rate isperformed by the radio communication device 110. However, standardsrelating to signalling e.g. between the radio network node 120 and themedia server 130 and/or the radio communication device 110 and the mediaserver 130 may evolve. It may then be possible that the second set ofmedia rates are sent from the radio network node 110 to the media server130, which thus receives a recommendation from the radio network node120 and makes the selection of the media rate out of the second set ofmedia rates. Additionally, it may then be possible that the second setof media rates are sent from the radio communication device 110 to themedia server 130, which thus—as mentioned—receives the recommendationand makes the selection of the media rate out of the second set of mediarates.

In FIG. 4, a schematic flowchart of exemplifying methods in the radiocommunication device 110 is shown. Again, the same reference numerals asabove have been used to denote the same or similar features, inparticular the same reference numerals have been used to denote the sameor similar actions. Accordingly, the radio communication device 110performs a method for managing a media stream to be received from amedia server 130.

As mentioned, the media stream comprises a plurality of segments, whichare defined by a first set of media rates and by at least one segmenttime period relating to a duration of the plurality of segments.

One or more of the following actions may be performed in any suitableorder.

Action A020

The radio communication device 110 transmits, to the media server 130, arequest for the first set of media rates and the at least one segmenttime period.

Action A050

The radio communication device 110 receives, from the media server 130,a response indicating the first set of media rates and the at least onesegment time period.

Action A060

The radio communication device 110 generates a request for a second setof media rates.

Action A070

The radio communication device 110 transmits, to a base station device120, a request for a second set of media rates. The request comprises:

information about the first set of media rates,

a parameter relating to length of the at least one segment time period,and

an indication relating to a time period during which the second set ofmedia rates is below a media stream rate for reception at the radiocommunication device 110.

thereby enabling the base station device 120 to predict the media streamrate, based on the indication and the parameter, and to assign one ormore of the first set of media rates to the second set of media ratesbased on the media stream rate;

Action A110

The radio communication device 110 may transmit information about radioconditions to the base station device 120.

Action A160

The radio communication device 110 receives, from the base stationdevice 120, a response indicating the second set of media rates.

Each media rate of the second set may be associated to a respectiveprobability relating to that said each media rate is transmittable overthe radio communication network 100 without buffer under-run at theradio communication device 110. The selecting A170 of the media rate maybe based on the respective probability.

Action A170

The radio communication device 110 selects a media rate out of thesecond set of media rates.

The selecting A170 of the media rate may be based on buffer statusand/or user preference.

Action A180

The radio communication device 110 may transmit a request for the mediastream.

Action A210

The radio communication device 110 may receive the media stream.

With reference to FIG. 5, a schematic block diagram of embodiments ofthe radio communication device 110 of FIG. 1 is shown.

The radio communication device 110 may comprise a processing module 501,such as a means, one or more hardware modules and/or one or moresoftware modules for performing the methods described herein.

The radio communication device 110 may further comprise a memory 502.The memory may comprise, such as contain or store, a computer program503.

According to some embodiments herein, the processing module 501comprises, e.g. ‘is embodied in the form of’ or ‘realized by’, aprocessing circuit 504 as an exemplifying hardware module. In theseembodiments, the memory 502 may comprise the computer program 503,comprising computer readable code units executable by the processingcircuit 504, whereby the radio communication device 110 is operative toperform the methods of FIG. 3 and/or FIG. 4.

In some other embodiments, the computer readable code units may causethe radio communication device 110 to perform the method according toFIGS. 3 and/or 4 when the computer readable code units are executed bythe radio communication device 110.

FIG. 5 further illustrates a carrier 505, or program carrier, whichcomprises the computer program 503 as described directly above.

In some embodiments, the processing module 501 comprises an Input/Outputunit 506, which may be exemplified by a receiving module and/or atransmitting module as described below when applicable.

In further embodiments, the processing module 501 may comprise one ormore of a transmitting module 510, a receiving module 520, a selectingmodule 530, and a generating module 540, as exemplifying hardwaremodules. In other examples, one or more of the aforementionedexemplifying hardware modules may be implemented as one or more softwaremodules.

Accordingly, the radio communication device 110 is configured formanaging a media stream to be received from a media server 130, whereinthe media stream comprises a plurality of segments, which are defined bya first set of media rates and by at least one segment time periodrelating to a duration of the plurality of segments.

Therefore, according to the various embodiments described above, theradio communication device 110, the processing module 501 and/or thetransmitting module 510 is configured for transmitting, to the mediaserver 130, a request for the first set of media rates and the at leastone segment time period.

The radio communication device 110, the processing module 501 and/or thereceiving module 520 is configured for receiving, from the media server130, a response indicating the first set of media rates and the at leastone segment time period.

Moreover, the radio communication device 110, the processing module 501and/or the transmitting module 510 is configured for transmitting, to abase station device 120, a request for a second set of media rates,wherein the request comprises:

information about the first set of media rates,

a parameter relating to length of the at least one segment time period,and

an indication relating to a time period during which the second set ofmedia rates is below a media stream rate for reception at the radiocommunication device 110, thereby enabling the base station device 120to predict the media stream rate, based on the indication and theparameter, and to assign one or more of the first set of media rates tothe second set of media rates based on the media stream rate.

Furthermore, the radio communication device 110, the processing module501 and/or the receiving module 520 is configured for receiving, fromthe base station device 120, a response indicating the second set ofmedia rates.

Additionally, the radio communication device 110, the processing module501 and/or the selecting module 530 is configured for selecting a mediarate out of the second set of media rates.

The radio communication device 110, the processing module 501 and/or theselecting module 530 may be configured for selecting the media ratebased on buffer status and/or user preference.

As mentioned, in some embodiments, each media rate of the second set maybe associated to a respective probability relating to that said eachmedia rate is transmittable over the radio communication network 100without buffer under-run at the radio communication device 110. In theseembodiments, the radio communication device 110, the processing module501 and/or the selecting module 530 may be configured for selecting themedia rate is based on the respective probability.

The radio communication device 110, the processing module 501 and/or thetransmitting module 510 may be configured for transmitting informationabout radio conditions.

The radio communication device 110, the processing module 501 and/or thegenerating module 540 may be configured for generating a request for asecond set of media rates.

In FIG. 6, a schematic flowchart of exemplifying methods in the basestation device 120 is shown. Again, the same reference numerals as abovehave been used to denote the same or similar features, in particular thesame reference numerals have been used to denote the same or similaractions. Accordingly, the base station device 120 performs a method formanaging a media stream to be transmitted from a media server 130 to aradio communication device 110.

As mentioned, the media stream comprises a plurality of segments, whichare defined by a first set of media rates and by one or more segmenttime periods relating to a duration of the plurality of segments.

One or more of the following actions may be performed in any suitableorder.

Action A010

The base station device 120 may train a set of models, wherein the setof models comprises the model for prediction of the stream rate.

Action A080

The base station device 120 receives, from the radio communicationdevice 110, a request for a second set of media rates, wherein therequest comprises:

information about the first set of media rates,

a parameter relating to length of the one or more segment time periods,and

an indication relating to a time period during which the second set ofmedia rates is below a media stream rate for reception at the radiocommunication device 110.

Action A090

The base station device 120 selects a model for prediction of the mediastream rate based on the indication and the parameter.

Action A100

The base station device 120 obtains information about radio conditionsfor use as input to the model.

Action A120

The base station device 120 predicts the media stream rate based on theselected model and the information about radio conditions.

Action A130

The base station device 120 may associate each media rate of the secondset with a respective probability relating to that said each media rateis transmittable over the radio communication network 100 without bufferunder-run at the radio communication device 110.

Action A140

The base station device 120 assigns one or more of the first set ofmedia rates to the second set of media rates based on the predictedmedia stream rate.

Action A150

The base station device 120 transmits, to the radio communication device110, a response indicating the second set of media rates.

With reference to FIG. 7, a schematic block diagram of embodiments ofthe base station device 120 of FIG. 1 is shown.

The base station device 120 may comprise a processing module 701, suchas a means, one or more hardware modules and/or one or more softwaremodules for performing the methods described herein.

The base station device 120 may further comprise a memory 702. Thememory may comprise, such as contain or store, a computer program 703.

According to some embodiments herein, the processing module 701comprises, e.g. ‘is embodied in the form of’ or ‘realized by’, aprocessing circuit 704 as an exemplifying hardware module. In theseembodiments, the memory 702 may comprise the computer program 703,comprising computer readable code units executable by the processingcircuit 704, whereby the base station device 120 is operative to performthe methods of FIG. 3 and/or FIG. 6.

In some other embodiments, the computer readable code units may causethe base station device 120 to perform the method according to FIGS. 3and/or 6 when the computer readable code units are executed by the basestation device 120.

FIG. 7 further illustrates a carrier 705, or program carrier, whichcomprises the computer program 703 as described directly above.

In some embodiments, the processing module 701 comprises an Input/Outputunit 706, which may be exemplified by a receiving module and/or atransmitting module as described below when applicable.

In further embodiments, the processing module 701 may comprise one ormore of a receiving module 710, a selecting module 720, an obtainingmodule 730, a predicting module 740, an assigning module 750, atransmitting module 760, an associating module 770, and a trainingmodule 780, as exemplifying hardware modules. In other examples, one ormore of the aforementioned exemplifying hardware modules may beimplemented as one or more software modules.

Accordingly, the base station device 120 is configured for managing amedia stream to be transmitted from a media server 130 to a radiocommunication device 110.

As mentioned, the media stream comprises a plurality of segments, whichare defined by a first set of media rates and by one or more segmenttime periods relating to a duration of the plurality of segments.

Therefore, according to the various embodiments described above, thebase station device 120, the processing module 701 and/or the receivingmodule 710 is configured for receiving, from the radio communicationdevice 110, a request for a second set of media rates, wherein therequest comprises:

-   -   information about the first set of media rates,    -   a parameter relating to length of the one or more segment time        periods, and    -   an indication relating to a time period during which the second        set of media rates is below a media stream rate for reception at        the radio communication device 110.

The base station device 120, the processing module 701 and/or theselecting module 720 is configured for selecting a model for predictionof the media stream rate based on the indication and the parameter.

Moreover, the base station device 120, the processing module 701 and/orthe obtaining module 730 is configured for obtaining information aboutradio conditions for use as input to the model. The base station device120, the processing module 701 and/or the predicting module 740 isconfigured for predicting the media stream rate based on the selectedmodel and the information about radio conditions.

Furthermore, the base station device 120, the processing module 701and/or the assigning module 750 is configured for assigning one or moreof the first set of media rates to the second set of media rates basedon the predicted media stream rate.

Additionally, the base station device 120, the processing module 701and/or the transmitting module 760 is configured for transmitting, tothe radio communication device 110, a response indicating the second setof media rates.

The base station device 120, the processing module 701 and/or theassociating module 770 may be configured for associating each media rateof the second set with a respective probability relating to that saideach media rate is transmittable over the radio communication network100 without buffer under-run at the radio communication device 110.

The base station device 120, the processing module 701 and/or thetraining module 780 is configured for training a set of models, whereinthe set of models comprises the model for prediction of the stream rate.

As used herein, the term “node”, or “network node”, may refer to one ormore physical entities, such as devices, apparatuses, computers, serversor the like. This may mean that embodiments herein may be implemented inone physical entity. Alternatively, the embodiments herein may beimplemented in a plurality of physical entities, such as an arrangementcomprising said one or more physical entities, i.e. the embodiments maybe implemented in a distributed manner.

As used herein, the term “unit” may refer to one or more functionalunits, each of which may be implemented as one or more hardware modulesand/or one or more software modules in a node.

As used herein, the term “program carrier” may refer to one of anelectronic signal, an optical signal, a radio signal, and a computerreadable medium. In some examples, the program carrier may excludetransitory, propagating signals, such as the electronic, optical and/orradio signal. Thus, in these examples, the carrier may be anon-transitory carrier, such as a non-transitory computer readablemedium.

As used herein, the term “processing module” may include one or morehardware modules, one or more software modules or a combination thereof.Any such module, be it a hardware, software or a combinedhardware-software module, may be a determining means, estimating means,capturing means, associating means, comparing means, identificationmeans, selecting means, receiving means, sending means or the like asdisclosed herein. As an example, the expression “means” may be a modulecorresponding to the modules listed above in conjunction with theFigures.

As used herein, the term “software module” may refer to a softwareapplication, a Dynamic Link Library (DLL), a software component, asoftware object, an object according to Component Object Model (COM), asoftware component, a software function, a software engine, anexecutable binary software file or the like.

As used herein, the term “processing circuit” may refer to a processingunit, a processor, an Application Specific integrated Circuit (ASIC), aField-Programmable Gate Array (FPGA) or the like. The processing circuitor the like may comprise one or more processor kernels.

As used herein, the expression “configured to/for” may mean that aprocessing circuit is configured to, such as adapted to or operative to,by means of software configuration and/or hardware configuration,perform one or more of the actions described herein.

As used herein, the term “action” may refer to an action, a step, anoperation, a response, a reaction, an activity or the like. It shall benoted that an action herein may be split into two or more sub-actions asapplicable. Moreover, also as applicable, it shall be noted that two ormore of the actions described herein may be merged into a single action.

As used herein, the term “memory” may refer to a hard disk, a magneticstorage medium, a portable computer diskette or disc, flash memory,random access memory (RAM) or the like. Furthermore, the term “memory”may refer to an internal register memory of a processor or the like.

As used herein, the term “computer readable medium” may be a UniversalSerial Bus (USB) memory, a DVD-disc, a Blu-ray disc, a software modulethat is received as a stream of data, a Flash memory, a hard drive, amemory card, such as a MemoryStick, a Multimedia Card (MMC), SecureDigital (SD) card, etc.

As used herein, the term “computer readable code units” may be text of acomputer program, parts of or an entire binary file representing acomputer program in a compiled format or anything there between.

As used herein, the term “radio resource” may refer to a certain codingof a signal and/or a time frame and/or a frequency range in which thesignal is transmitted. In some examples, a resource may refer to one ormore Physical Resource Blocks (PRB) which is used when transmitting thesignal. In more detail, a PRB may be in the form of Orthogonal FrequencyDivision Multiplexing (OFDM) PHY resource blocks (PRB). The term“physical resource block” is known from 3GPP terminology relating toe.g. Long Term Evolution Systems.

As used herein, the expression “transmit” and “send” are considered tobe interchangeable. These expressions include transmission bybroadcasting, uni-casting, group-casting and the like. In this context,a transmission by broadcasting may be received and decoded by anyauthorized device within range. In case of uni-casting, one specificallyaddressed device may receive and encode the transmission. In case ofgroup-casting, a group of specifically addressed devices may receive anddecode the transmission.

As used herein, the terms “number” and/or “value” may be any kind ofdigit, such as binary, real, imaginary or rational number or the like.Moreover, “number” and/or “value” may be one or more characters, such asa letter or a string of letters. “Number” and/or “value” may also berepresented by a bit string.

As used herein, the term “set of” may refer to one or more of something.E.g. a set of devices may refer to one or more devices, a set ofparameters may refer to one or more parameters or the like according tothe embodiments herein.

As used herein, the expression “in some embodiments” has been used toindicate that the features of the embodiment described may be combinedwith any other embodiment disclosed herein.

Even though embodiments of the various aspects have been described, manydifferent alterations, modifications and the like thereof will becomeapparent for those skilled in the art. The described embodiments aretherefore not intended to limit the scope of the present disclosure.

1. A method, performed by a radio communication device, for managing amedia stream to be received from a media server, wherein the mediastream comprises a plurality of segments, which are defined by a firstset of media rates and by at least one segment time period relating to aduration of the plurality of segments, wherein the method comprises:transmitting, to the media server, a request for the first set of mediarates and the at least one segment time period; receiving, from themedia server, a response indicating the first set of media rates and theat least one segment time period; transmitting, to a base stationdevice, a request for a second set of media rates, wherein the requestcomprises: information about the first set of media rates, a parameterrelating to length of the at least one segment time period, and anindication relating to a time period during which the second set ofmedia rates is below a media stream rate for reception at the radiocommunication device, thereby enabling the base station device topredict the media stream rate, based on the indication and theparameter, and to assign one or more of the first set of media rates tothe second set of media rates based on the media stream rate; receiving,from the base station device, a response indicating the second set ofmedia rates, and selecting a media rate out of the second set of mediarates.
 2. The method according to claim 1, wherein the selecting of themedia rate is based on buffer status and/or user preference.
 3. Themethod according to claim 1, wherein each media rate of the second setis associated to a respective probability relating to that said eachmedia rate is transmittable over the radio communication network withoutbuffer under-run at the radio communication device, wherein theselecting of the media rate is based on the respective probability. 4.The method according to claim 1, wherein the method comprises:transmitting information about radio conditions to the base stationdevice.
 5. A method, performed by a base station device, for managing amedia stream to be transmitted from a media server to a radiocommunication device, wherein the media stream comprises a plurality ofsegments, which are defined by a first set of media rates and by one ormore segment time periods relating to a duration of the plurality ofsegments, wherein the method comprises: receiving, from the radiocommunication device, a request for a second set of media rates, whereinthe request comprises: information about the first set of media rates, aparameter relating to length of the one or more segment time periods,and an indication relating to a time period during which the second setof media rates is below a media stream rate for reception at the radiocommunication device, selecting a model for prediction of the mediastream rate based on the indication and the parameter; obtaininginformation about radio conditions for use as input to the model;predicting the media stream rate based on the selected model and theinformation about radio conditions; assigning one or more of the firstset of media rates to the second set of media rates based on thepredicted media stream rate; and transmitting, to the radiocommunication device, a response indicating the second set of mediarates.
 6. The method according to claim 4, wherein the method comprises:associating each media rate of the second set with a respectiveprobability relating to that said each media rate is transmittable overthe radio communication network without buffer under-run at the radiocommunication device.
 7. The method according to claim 5, wherein themethod comprises: training a set of models, wherein the set of modelscomprises the model for prediction of the stream rate.
 8. A radiocommunication device configured for managing a media stream to bereceived from a media server, wherein the media stream comprises aplurality of segments, which are defined by a first set of media ratesand by at least one segment time period relating to a duration of theplurality of segments, wherein the radio communication device isconfigured for: transmitting, to the media server, a request for thefirst set of media rates and the at least one segment time period;receiving, from the media server, a response indicating the first set ofmedia rates and the at least one segment time period; transmitting, to abase station device, a request for a second set of media rates, whereinthe request comprises: information about the first set of media rates, aparameter relating to length of the at least one segment time period,and an indication relating to a time period during which the second setof media rates is below a media stream rate for reception at the radiocommunication device, thereby enabling the base station device topredict the media stream rate, based on the indication and theparameter, and to assign one or more of the first set of media rates tothe second set of media rates based on the media stream rate; receiving,from the base station device, a response indicating the second set ofmedia rates, and selecting a media rate out of the second set of mediarates.
 9. The radio communication device according to claim 8, whereinthe radio communication device is configured for selecting the mediarate based on buffer status and/or user preference.
 10. The radiocommunication device according to claim 8, wherein each media rate ofthe second set is associated to a respective probability relating tothat said each media rate is transmittable over the radio communicationnetwork without buffer under-run at the radio communication device,wherein the radio communication device is configured for selecting themedia rate is based on the respective probability.
 11. The radiocommunication device according to claim 8, wherein the radiocommunication device is configured for transmitting information aboutradio conditions.
 12. A base station device configured for managing amedia stream to be transmitted from a media server to a radiocommunication device, wherein the media stream comprises a plurality ofsegments, which are defined by a first set of media rates and by one ormore segment time periods relating to a duration of the plurality ofsegments, wherein the base station device is configured for: receiving,from the radio communication device, a request for a second set of mediarates, wherein the request comprises: information about the first set ofmedia rates, a parameter relating to length of the one or more segmenttime periods, and an indication relating to a time period during whichthe second set of media rates is below a media stream rate for receptionat the radio communication device, selecting a model for prediction ofthe media stream rate based on the indication and the parameter;obtaining information about radio conditions for use as input to themodel; predicting the media stream rate based on the selected model andthe information about radio conditions; assigning one or more of thefirst set of media rates to the second set of media rates based on thepredicted media stream rate; and transmitting, to the radiocommunication device, a response indicating the second set of mediarates.
 13. The base station device according to claim 12, wherein thebase station device is configured for associating each media rate of thesecond set with a respective probability relating to that said eachmedia rate is transmittable over the radio communication network withoutbuffer under-run at the radio communication device.
 14. The base stationdevice according to claim 12, wherein the base station device isconfigured for training a set of models, wherein the set of modelscomprises the model for prediction of the stream rate.
 15. A computerprogram, comprising computer readable code units which when executed ona radio communication device causes the radio communication device toperform the method according to claim
 1. 16. (canceled)
 17. A computerprogram, comprising computer readable code units which when executed ona base station device causes the base station device to perform themethod according to claim
 5. 18. (canceled)